home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / grafik / triton / programmer / source / triton_lib.c < prev   
C/C++ Source or Header  |  1994-04-09  |  3KB  |  109 lines

  1. /*
  2.  *  Triton - The object oriented GUI creation system for the Amiga
  3.  *  Written by Stefan Zeiger in 1993-1994
  4.  *
  5.  *  (c) 1993-1994 by Stefan Zeiger
  6.  *  You are hereby allowed to use this source or parts of it for
  7.  *  creating programs for AmigaOS which use the Triton GUI creation
  8.  *  system. All other rights reserved.
  9.  *
  10.  */
  11.  
  12.  
  13. #define TR_NOMACROS
  14. #define TR_NOSUPPORT
  15.  
  16. #include <clib/exec_protos.h>
  17. #include <pragmas/exec_pragmas.h>
  18. #include <libraries/triton.h>
  19. #include <proto/triton.h>
  20.  
  21.  
  22. ////////////////////////////////////////////////////////////////////////////
  23. /////////////////////////////////////////////////////// Support functions //
  24. ////////////////////////////////////////////////////////////////////////////
  25.  
  26. struct Library *TritonBase;
  27. struct TR_App *__Triton_Support_App;
  28.  
  29.  
  30. /****** triton.lib/TR_OpenTriton ******
  31. *
  32. *   NAME    
  33. *    TR_OpenTriton -- Opens Triton ready to use.
  34. *
  35. *   SYNOPSIS
  36. *    success = TR_OpenTriton(version, tag1,...)
  37. *    D0
  38. *
  39. *    BOOL TR_OpenTriton(ULONG, ULONG,...);
  40. *
  41. *   FUNCTION
  42. *    Opens triton.library with the specified minimum
  43. *    version and creates an application.
  44. *    The supplied tags are passed as a taglist to
  45. *    TR_CreateApp().
  46. *
  47. *   RESULT
  48. *    success - Was everything opened successful?
  49. *
  50. *   SEE ALSO
  51. *    TR_CloseTriton(), TR_CreateApp()
  52. *
  53. ******/
  54.  
  55. BOOL __stdargs TR_OpenTriton(ULONG version, ULONG taglist,...)
  56. {
  57.   if(!(TritonBase=OpenLibrary(TRITONNAME,version))) return FALSE;
  58.   if(!(__Triton_Support_App=TR_CreateApp((struct TagItem *)&taglist))) return FALSE;
  59.   return TRUE;
  60. }
  61.  
  62.  
  63. /****** triton.lib/TR_CloseTriton ******
  64. *
  65. *   NAME    
  66. *    TR_CloseTriton -- Closes Triton easily.
  67. *
  68. *   SYNOPSIS
  69. *    TR_CloseTriton()
  70. *
  71. *    VOID TR_CloseTriton(VOID);
  72. *
  73. *   FUNCTION
  74. *    Closes the application created by OpenTriton()
  75. *    and closes triton.library.
  76. *
  77. *   SEE ALSO
  78. *    TR_OpenTriton()
  79. *
  80. ******/
  81.  
  82. VOID __regargs TR_CloseTriton(VOID)
  83. {
  84.   if(__Triton_Support_App)
  85.   {
  86.     TR_DeleteApp(__Triton_Support_App);
  87.     __Triton_Support_App=NULL;
  88.   }
  89.   if(TritonBase)
  90.   {
  91.     CloseLibrary(TritonBase);
  92.     TritonBase=NULL;
  93.   }
  94. }
  95.  
  96.  
  97. ////////////////////////////////////////////////////////////////////////////
  98. /////////////////////////////////////////////////// Stack arguments stubs //
  99. ////////////////////////////////////////////////////////////////////////////
  100.  
  101. struct TR_Project * __stdargs TR_OpenProjectTags(struct TR_App *app, ULONG taglist,...)
  102.   { return TR_OpenProject(app, (struct TagItem *)&taglist); }
  103.  
  104. ULONG TR_EasyRequestTags(struct TR_App *app, STRPTR bodyfmt, STRPTR gadfmt, ULONG taglist,...)
  105.   { return TR_EasyRequest(app, bodyfmt, gadfmt, (struct TagItem *)&taglist); }
  106.  
  107. ULONG TR_AutoRequestTags(struct TR_App *app, struct TR_Project *lockproject, ULONG taglist,...)
  108.   { return TR_AutoRequest(app, lockproject, (struct TagItem *)&taglist); }
  109.